VSCode 远程开发 |
您所在的位置:网站首页 › vscode remote terminal › VSCode 远程开发 |
因为某些原因,需要使用一台电脑远程开发另外一台电脑的代码,于是VSCode远程开发就是一个很好的方式,而且两台电脑都是win10系统 开启SSH作为服务器的电脑需要安装并开启Openssh 的 Server 服务 查看是否安装该服务的作用是让你可以在终端使用ssh指令,Windows10通常自带OpenSSH不需要安装。 在Win10应用中选择 Windows PoweShell(管理员)输入以下指令: Get-WindowsCapability -Online | ? Name -like 'OpenSSH*' 如果电脑未安装OpenSSH,则State会显示NotPresent: 如果都是NotPresent可直接跳过接下来的安装 鼠标操作安装鼠标操作相对无脑一点,鼠标点点点就好了。 点击win键,弹出的菜单中选择设置按钮 在windows设置中,点击应用 弹出的应用和功能界面中,点击管理可选功能 点击如图所示的添加功能 可选功能下面找到OpenSSH server,并点击 点击如图所示的安装,等待安装完成即可。如需安装openssh client同样的方法 重启电脑,打开命令行工具,输入ssh,显示如图所示说明安装成功安装成功如下图 命令行操作安装命令行操作相对简单些 安装server Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0 安装client Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0 配置服务默认启动 点击工具栏的搜索按钮,弹出的搜索界面中搜索服务 打开的服务界面中,找到OpenSSH Server,右键属性 设置为自动启动 启动服务 VSCode配置远程服务器 安装Remote-SSHRemote-SSH是VScode的插件,安装完VScode以后,直接在插件中搜索ssh,即可找到Remote-SSH,点击install安装 配置安装完Remote-SSH以后左侧会出现一个远程资源管理的图标,选择SSH Targets,进入config配置文件 在配置文件中设置服务器信息,输入HostName和User,保存以后左侧会出现对应机器名称 更改设置,File->Preferences->Settings->Extension->Remote-SSH,找到Show Login Terminal并勾选。 VSCode使用远程服务器点击SSH TARGETS下的服务器旁边的按钮纽行连接,选择服务器的平台,弹出让你输入密码 成功连上服务器,点击右侧的+号创建服务器的终端窗口,可以正常使用了! 我们还可以打开服务器的文件夹 打开以后可以看到服务器文件目录,直接在文件目录中选择文件进行编辑,实时同步到服务器上,这时候已经可以开始愉快的进行开发了,开发体验媲美本地开发! 通过跳板机链接服务器有时候我们需要跳板机来连接服务器,也即先连接一台跳板机服务器,然后通过这台跳板机所在的内网再次跳转到目标服务器。最简单的做法就是按上述方法连接到跳板机,然后在跳板机的终端用ssh指令跳转到目标服务器,但这样跳转后,我们无法在VScode中打开服务器的文件目录,操作起来很不方便。 我们可以在config中设置两个服务器,一个是跳板机,一个是内网服务器 首先使用VSCode登录跳板机,然后再登录内网服务器 外网访问当外网访问,并且没有给我们的服务器分配ip的情况下,这时候要么是要求我们的网络运营商给我们分配一个ip地址,要么是使用内网穿透。 内网穿透 - 花生壳大概意思就是通过技术手段从公网访问内网,可以参考下面这两篇文章。 zhuanlan.zhihu.com/p/57477087 www.bilibili.com/video/BV1bi… \ 花生壳配置 编辑C:\Users\yourname.ssh\config文件指定花生壳分配的端口 尝试在windows客户端登录 ssh username@花生壳域名 -p 花生壳端口 当出现 Bad owner or permissions on C:\\Users\\ 时 windows系统 进入如下路径C:\Users\用户名.ssh,你会看到有config这个文件 右击config,属性→安全→高级→禁止继承→删除所有继承(忘了全称了,大概这个意思) →确定 ,如果系统是英文: Properties -> Security -> Advanced -> Disable Inheritance -> Remove all inherited permissions from this object 然后尝试手动编辑config这个文件,当不能编辑时,手动在属性→安全→编辑中添加当前用户,并且权限“允许”全部勾选 SSH免密登录简化登录需要输入密码。 客户端生成公私钥在cmd下输入ssh-kengen -t rsa -b 4096 或者 ssh-kengen 然后一路回车 上传公钥到服务器生成的密钥id_rsa和公钥id_rsa.pub文件都默认保存在(C:\User\用户/.ssh)文件夹下) 在cmd下输入 SET REMOTEHOST=your-user-name-on-host@host-fqdn-or-ip-goes-here scp %USERPROFILE%\.ssh\id_rsa.pub %REMOTEHOST%:~/tmp.pub ssh %REMOTEHOST% "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat ~/tmp.pub >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys && rm -f ~/tmp.pub" 复制代码第一行作用相当于设置变量名,REMOTEHOST设置格式为“你在服务器的用户名@服务器的ip地址” 例如我在服务器的用户名是“lpy”,远程服务器的ip为49.52.10.120,那么我的第一行代码就是 SET [email protected] 第二行scp命令的详细知识可以参考scp使用说明,它是Linux系统下基于ssh登陆进行安全的远程文件拷贝命令。知道这条命令的作用之后,我们就能知道前半部分是本地公钥文件的位置,后半部分是远程服务器端当前目录下名为tmp.pub的文件,我们要把本地的公钥拷贝到这个临时文件里。 %USERPROFILE%就是本地主机的用户名,在C:\Users这里找,%REMOTEHOST%是我们刚刚已经SET过的哦,就不用管它啦。 测试免密登录 ssh [email protected] 复制代码 参考 使用VScode连接远程服务器的配置方法 win10电脑如何安装Openssh?开启Server服务? windows10下Bad owner or permissions on .ssh/config的解决办法 解决Bad owner or permissions on .ssh/config 的问题 Win 10+SSH+内网穿透+VS code远程开发踩坑避雷 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |